home *** CD-ROM | disk | FTP | other *** search
- /* $Id: pbm.h,v 1.1 1998/09/22 05:54:44 jj Exp $
- * pbm.h: PCI bus module pseudo driver software state
- * Adopted from sparc64 by V. Roganov and G. Raiko
- *
- * Original header:
- * pbm.h: U2P PCI bus module pseudo driver software state.
- *
- * Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu)
- */
-
- #ifndef __SPARC_PBM_H
- #define __SPARC_PBM_H
-
- #include <linux/pci.h>
- #include <asm/oplib.h>
-
- struct linux_pbm_info;
-
- /* This is what we use to determine what the PROM has assigned so
- * far, so that we can perform assignments for addresses which
- * were not taken care of by OBP. See psycho.c for details.
- * Per-PBM these are ordered by start address.
- */
- struct pci_vma {
- struct pci_vma *next;
- struct linux_pbm_info *pbm;
- unsigned int start;
- unsigned int end;
- unsigned int offset;
- unsigned int _pad;
- };
-
- struct linux_pbm_info {
- struct pci_vma *IO_assignments;
- struct pci_vma *MEM_assignments;
- int prom_node;
- char prom_name[64];
- struct linux_prom_pci_ranges pbm_ranges[PROMREG_MAX];
- int num_pbm_ranges;
-
- /* Now things for the actual PCI bus probes. */
- unsigned int pci_first_busno;
- unsigned int pci_last_busno;
- struct pci_bus pci_bus;
- };
-
- /* PCI devices which are not bridges have this placed in their pci_dev
- * sysdata member. This makes OBP aware PCI device drivers easier to
- * code.
- */
- struct pcidev_cookie {
- struct linux_pbm_info *pbm;
- int prom_node;
- };
-
- #endif /* !(__SPARC_PBM_H) */
-